package xcmg.device.dao.mapper.report;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import xcmg.device.dao.entity.report.AgentTerminalSalesOutboundDO;
import xcmg.device.dao.entity.report.SparePartsOrderAccuracyDO;
import xcmg.device.service.vo.report.*;

import java.util.List;

/**
 * Created by wrg on 2019/6/14.
 */
@Repository
@Mapper
public interface SparePartsOrderAccuracyMapper {
    //查询备件代理商满足率
    List<SparePartsOrderAccuracyDO> querySparePartsAgent(SparePartsOrderAccuracyParam param);
    //查询备件调度员满足率
    List<SparePartsOrderAccuracyDO> querySparePartsDispatcher(SparePartsOrderAccuracyParam param);
    //查询备件采购组满足率
    List<SparePartsOrderAccuracyDO> querySparePartsPurchasGroup(SparePartsOrderAccuracyParam param);

    List<AgentCommodityAmountParam> agentName(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> getTypePrice(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> getTypeTotalPrice(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> agentInventoryAmountList(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> agentInventoryTotalAmount(AgentCommodityAmountParam param);

    List<AgentCommodityAmountParam> agentTerminalSalesNameByMaterial(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> agentTerminalSalesTypePriceByMaterial(AgentCommodityAmountParam param);

    List<AgentCommodityClassAmountVO> agentTerminalSalesTypeTotalPriceByMaterial(AgentCommodityAmountParam param);

    List<AgentTerminalSalesOutboundDO> agentTerminalSalesByOutbound(AgentTerminalSalesOutboundParam param);

    AgentTerminalSalesOutboundDO agentTerminalSalesByOutboundTotal(AgentTerminalSalesOutboundParam param);

    List<AgentTurnoverRateClassVO> agentAgentTurnoverRateList(AgentTurnoverRateParam param);

    List<AgentTurnoverRateClassVO> agentAgentTurnoverRateTotal(AgentTurnoverRateParam param);

    List<AgentTerminalSalesOutboundDO> agentTerminalSalesByOutbound4Cy(AgentTerminalSalesOutboundParam param);
}
